Flash memory is a technology of memory achieved by a number of silicon transistors. Electronics are held in floating gates so that permanent information can be kept. Flash memory is in the form of an EEPRON (Electrically-Erasable Programmable Read-Only Memory). However, it is allowed to be erased or written many times for operation. Therefore, flash memory is widely used to store data, further for transmitting the data between computers and other digital products. A main application is a memory card and a pen drive. As capacity of one flash memory chip increases significantly nowadays, a set of flash memory chips may provide storage capacity as a traditional hard disk does. Besides, flash memory has an advantage that it is not affected or damaged from shaking when it works. Therefore, SSDs (Solid State Drives) comprising of a number of flash memory chips are becoming very popular in the storage market, used in the computers and portable storages. SSD occupies a large amount market share which comes from hard disks.
A flash memory includes many storing units (cells). One type of flash memory that each cell inside was only able to save one bit message is called SLC (Single-Level Cell) flash memory. Advantages of the SLC flash memory are fast read-write speed, less power consumption and long lifetime. Relatively, comparing with other types of flash memories, a shortcoming of the SLC flash memory is its high manufacturing cost. Another type of flash memory is MLC (Multi-Level Cell) flash memory. Each of its cells has four potential states (multi-level voltage). Thus, it can store more bits in one cell. The MLC flash memory has lower read-write speed than the SLC flash memory. Life time is only one tenth of the SLC flash memory. Power consumption is high. However, for the same storage capacity, cost of the MLC flash memory is only a quarter of that of the SLC flash memory. As portable electronic devices have larger storage space than every while prices thereof drop very fast, MLC flash memory becomes the main stream for these devices, even for some notebooks.
In the past few years, a new generation of flash memory comes out. It is TLC (Triple-Level Cell) flash memory. Architecture of the TLC flash memory is similar to that of the MLC flash memory. However, each cell of the MLC flash memory can store data of 3 bits. Of course, read-write speed of the TLC flash memory compared with other types is lower. Lifetime is generally below 1000 times. But, cost of the TLC flash memory is very friendly to commodities, such as tablets or entry level smart phones. With wear leveling technology, lifetime of storages composed of TLC flash memory chips can effectively extend. Basically, for a consumer electronics product, it may have storage space large enough so that users would not fully utilize it (cells fail or get aged) before the product dies out. TLC flash memory has such niche to grow in the market.
Although the TLC flash memories have benefits of low cost, they are facing a challenge. When the TLC flash memories work or be processed, e.g. under wave soldering, at a high temperature (above 60° C.), the cells may lose their ability to keep current electric potential. 0 or 1 in one cell cannot be differentiated and data stored in a block becomes wrong. Some cells may be aged or even dead. Despite of it, some failed cells do exist before the TLC flash memory cells are assembled in a device for sale. There are also some cells getting aged fast than others. If such problem cells are not found and isolated for use before the device is sold out, customer complains will be a headache for the manufacturer. Sometimes, the problem would happen in the MLC flash memories.
If the flash memory chips have been processed to form a SSD, the problem mentioned above becomes complicated to settle. Although the flash memory chips passed QC (quality control) tests before they were sold to the SSD manufacturer, they might get damaged or aged when wave soldering was processed. Finally, the SSD would be packed in a housing to be a finished product. It is not workable for a final QC process to take apart the housing for all SSDs just to test dead and problem cells in the flash memory chips. There are still some issued SSDs left even sampled SSDs are inspected to ensure quality of a batch of SSDs.
Reviewing the prior arts, there are some techniques which may provide a solution to the quality problem. For example, U.S. Pat. No. 8,667,345 provides a burn-in method for embedded multi-media cards and a testing board. The method of '345 is writing a test pattern to a flash memory of one embedded multi-media card first. Then, electrically connect a command line of the embedded multi-media card to ground to operate the embedded multi-media card in a boot state. Afterwards, perform a burn-in procedure on the flash memory when the embedded multi-media card is in the boot state and the test pattern is recognized as being contained in the flash memory. Finally, collect a test report during the burn-in procedure and storing the test report in the flash memory. The test report may include locations of aged and dead cells. Thus, a page or a block containing the cells will be dropped and not used. '345 indicate an innovative way to test flash memory utilizing existing line in the embedded multi-media card. However, for a SSD, it is not workable due to different architecture.
Another invention for reference is disclosed by U.S. Pat. No. 7,512,847. '847 provides a method for estimating and reporting the life expectancy of flash-disk memory. The method has two main steps: (a) monitoring a value of a longevity parameter of a memory device after a programming operation on the memory device, the monitoring being performed by the memory device; and (b) deriving a grade of the memory device from the value. The value is a number of programming pulses associated with the operation, required to change logic states of at least one cell in a page of the memory device. Although '847 discloses a good method to monitor the status of flash memories and can be applied to SSD. However, for the final QA for the SSDs, the method is not able to automatically run without dismantle housings or utilizing external control from a computer.
There is no suitable solution available. Therefore, the present invention provides a method for detecting aged and dead cells of SSDs through an SATA interface and a SSD having self-detecting function to look for problem cells by using the method to settle the aforementioned problem.